package cc.rengu.oltp.service.common.dao;

import cc.rengu.oltp.service.common.entity.TxnNoticeInfo;

import java.util.List;

/**
 * 交易通知登记表操作接口
 * Created by 王成 on 2020/7/22
 */
public interface TxnNoticeInfoMapper {
    /**
     * 登记交易通知信息
     *
     * @param txnNoticeInfo 交易通知信息
     * @return 0-成功，其它-失败
     * @throws Exception 异常
     */
    int insertTxnNoticeInfo(TxnNoticeInfo txnNoticeInfo) throws Exception;

    /**
     * 根据主键查询交易通知信息
     *
     * @param instId       多法人机构标识
     * @param sysSeqNum    系统流水号
     * @param mchntNo      商户号
     * @param noticeType   通知类型
     * @param noticeTarget 通知目标
     * @return 交易通知信息
     * @throws Exception 异常
     */
    TxnNoticeInfo selectTxnNoticeInfoByPrimaryKey(String instId, String sysSeqNum, String mchntNo, String noticeType, String noticeTarget) throws Exception;

    /**
     * 根据交易流水号查询交易通知信息
     *
     * @param instId    多法人机构标识
     * @param sysSeqNum 系统流水号
     * @return 交易通知信息
     * @throws Exception 异常
     */
    List<TxnNoticeInfo> selectTxnNoticeInfoBySysSeqNum(String instId, String sysSeqNum) throws Exception;

    /**
     * 根据主键更新交易通知信息
     *
     * @param txnNoticeInfo 交易通知信息
     * @return 0-成功，其它-失败
     * @throws Exception 异常
     */
    int updateTxnNoticeInfoByPrimaryKey(TxnNoticeInfo txnNoticeInfo) throws Exception;
}
